css: 'transparent' is a valid color everywhere
authorBenjamin Otte <otte@redhat.com>
Sat, 31 Dec 2011 22:20:44 +0000 (23:20 +0100)
committerBenjamin Otte <otte@redhat.com>
Mon, 9 Jan 2012 17:37:53 +0000 (18:37 +0100)
gtk/gtkcssparser.c
gtk/gtkstyleproperty.c

index 27ea5110dc7b0bb631ec22c31f577ef034962865..8867e040659421e3881f5cfd6dadf272c7a4eeb2 100644 (file)
@@ -831,6 +831,13 @@ _gtk_css_parser_read_symbolic_color (GtkCssParser *parser)
 
   g_return_val_if_fail (GTK_IS_CSS_PARSER (parser), NULL);
 
+  if (_gtk_css_parser_try (parser, "transparent", TRUE))
+    {
+      GdkRGBA transparent = { 0, 0, 0, 0 };
+      
+      return gtk_symbolic_color_new_literal (&transparent);
+    }
+
   if (_gtk_css_parser_try (parser, "@", FALSE))
     {
       name = _gtk_css_parser_try_name (parser, TRUE);
index 3543952fa9e069cade0ced1765b5d491bb3d8dab..acc8f916013394c5b55b537de21db3313ec66c3c 100644 (file)
@@ -1593,23 +1593,6 @@ border_corner_radius_value_print (const GValue *value,
     }
 }
 
-static gboolean 
-transparent_color_value_parse (GtkCssParser *parser,
-                               GFile        *base,
-                               GValue       *value)
-{
-  if (_gtk_css_parser_try (parser, "transparent", TRUE))
-    {
-      GdkRGBA transparent = { 0, 0, 0, 0 };
-          
-      g_value_set_boxed (value, &transparent);
-
-      return TRUE;
-    }
-
-  return rgba_value_parse (parser, base, value);
-}
-
 /*** API ***/
 
 static void
@@ -2121,7 +2104,7 @@ gtk_style_property_init_properties (void)
                                           GDK_TYPE_RGBA, 0),
                                           0,
                                           NULL,
-                                          transparent_color_value_parse,
+                                          NULL,
                                           NULL,
                                           &value);
   g_value_unset (&value);
@@ -2331,7 +2314,7 @@ gtk_style_property_init_properties (void)
                                                               GDK_TYPE_RGBA, 0),
                                           0,
                                           NULL,
-                                          transparent_color_value_parse,
+                                          NULL,
                                           NULL,
                                           &value);
   _gtk_style_property_register           (g_param_spec_boxed ("border-right-color",
@@ -2340,7 +2323,7 @@ gtk_style_property_init_properties (void)
                                                               GDK_TYPE_RGBA, 0),
                                           0,
                                           NULL,
-                                          transparent_color_value_parse,
+                                          NULL,
                                           NULL,
                                           &value);
   _gtk_style_property_register           (g_param_spec_boxed ("border-bottom-color",
@@ -2349,7 +2332,7 @@ gtk_style_property_init_properties (void)
                                                               GDK_TYPE_RGBA, 0),
                                           0,
                                           NULL,
-                                          transparent_color_value_parse,
+                                          NULL,
                                           NULL,
                                           &value);
   _gtk_style_property_register           (g_param_spec_boxed ("border-left-color",
@@ -2358,7 +2341,7 @@ gtk_style_property_init_properties (void)
                                                               GDK_TYPE_RGBA, 0),
                                           0,
                                           NULL,
-                                          transparent_color_value_parse,
+                                          NULL,
                                           NULL,
                                           &value);
   g_value_unset (&value);